package ast

type Kind string

const (
	AccessSpecDecl              Kind = "AccessSpecDecl"
	AlignedAttr                 Kind = "AlignedAttr"
	AllocAlignAttr              Kind = "AllocAlignAttr"
	AllocSizeAttr               Kind = "AllocSizeAttr"
	AlwaysInlineAttr            Kind = "AlwaysInlineAttr"
	ArraySubscriptExpr          Kind = "ArraySubscriptExpr"
	AsmLabelAttr                Kind = "AsmLabelAttr"
	AtomicExpr                  Kind = "AtomicExpr"
	AvailabilityAttr            Kind = "AvailabilityAttr"
	BreakStmt                   Kind = "BreakStmt"
	BinaryOperator              Kind = "BinaryOperator"
	BlockCommandComment         Kind = "BlockCommandComment"
	BuiltinAttr                 Kind = "BuiltinAttr"
	BuiltinType                 Kind = "BuiltinType"
	C11NoReturnAttr             Kind = "C11NoReturnAttr"
	CStyleCastExpr              Kind = "CStyleCastExpr"
	CXXBoolLiteralExpr          Kind = "CXXBoolLiteralExpr"
	CXXBindTemporaryExpr        Kind = "CXXBindTemporaryExpr"
	CXXCatchStmt                Kind = "CXXCatchStmt"
	CXXConstructExpr            Kind = "CXXConstructExpr"
	CXXConstructorDecl          Kind = "CXXConstructorDecl"
	CXXCtorInitializer          Kind = "CXXCtorInitializer"
	CXXDefaultArgExpr           Kind = "CXXDefaultArgExpr"
	CXXDeleteExpr               Kind = "CXXDeleteExpr"
	CXXDependentScopeMemberExpr Kind = "CXXDependentScopeMemberExpr"
	CXXDestructorDecl           Kind = "CXXDestructorDecl"
	CXXFunctionalCastExpr       Kind = "CXXFunctionalCastExpr"
	CXXMemberCallExpr           Kind = "CXXMemberCallExpr"
	CXXMethodDecl               Kind = "CXXMethodDecl"
	CXXNewExpr                  Kind = "CXXNewExpr"
	CXXOperatorCallExpr         Kind = "CXXOperatorCallExpr"
	CXXRecordDecl               Kind = "CXXRecordDecl"
	CXXTemporaryObjectExpr      Kind = "CXXTemporaryObjectExpr"
	CXXThisExpr                 Kind = "CXXThisExpr"
	CXXThrowExpr                Kind = "CXXThrowExpr"
	CXXTryStmt                  Kind = "CXXTryStmt"
	CXXUnresolvedConstructExpr  Kind = "CXXUnresolvedConstructExpr"
	CallExpr                    Kind = "CallExpr"
	CaseStmt                    Kind = "CaseStmt"
	CharacterLiteral            Kind = "CharacterLiteral"
	ColdAttr                    Kind = "ColdAttr"
	CompoundAssignOperator      Kind = "CompoundAssignOperator"
	CompoundLiteralExpr         Kind = "CompoundLiteralExpr"
	CompoundStmt                Kind = "CompoundStmt"
	ConditionalOperator         Kind = "ConditionalOperator"
	ConstAttr                   Kind = "ConstAttr"
	ConstantArrayType           Kind = "ConstantArrayType"
	ConstantExpr                Kind = "ConstantExpr"
	ContinueStmt                Kind = "ContinueStmt"
	DeclRefExpr                 Kind = "DeclRefExpr"
	DeclStmt                    Kind = "DeclStmt"
	DefaultStmt                 Kind = "DefaultStmt"
	DeprecatedAttr              Kind = "DeprecatedAttr"
	DisableTailCallsAttr        Kind = "DisableTailCallsAttr"
	DoStmt                      Kind = "DoStmt"
	ElaboratedType              Kind = "ElaboratedType"
	EmptyDecl                   Kind = "EmptyDecl"
	EnumConstantDecl            Kind = "EnumConstantDecl"
	EnumDecl                    Kind = "EnumDecl"
	ExprWithCleanups            Kind = "ExprWithCleanups"
	FieldDecl                   Kind = "FieldDecl"
	FloatingLiteral             Kind = "FloatingLiteral"
	ForStmt                     Kind = "ForStmt"
	FormatAttr                  Kind = "FormatAttr"
	FriendDecl                  Kind = "FriendDecl"
	FullComment                 Kind = "FullComment"
	FunctionDecl                Kind = "FunctionDecl"
	FunctionProtoType           Kind = "FunctionProtoType"
	GCCAsmStmt                  Kind = "GCCAsmStmt"
	GNUInlineAttr               Kind = "GNUInlineAttr"
	GotoStmt                    Kind = "GotoStmt"

	IfStmt                   Kind = "IfStmt"
	IncompleteArrayType      Kind = "IncompleteArrayType"
	IndirectFieldDecl        Kind = "IndirectFieldDecl"
	InitListExpr             Kind = "InitListExpr"
	InlineCommandComment     Kind = "InlineCommandComment"
	IntegerLiteral           Kind = "IntegerLiteral"
	ImaginaryLiteral         Kind = "ImaginaryLiteral"
	ImplicitCastExpr         Kind = "ImplicitCastExpr"
	ImplicitValueInitExpr    Kind = "ImplicitValueInitExpr"
	LabelStmt                Kind = "LabelStmt"
	LinkageSpecDecl          Kind = "LinkageSpecDecl"
	MSAllocatorAttr          Kind = "MSAllocatorAttr"
	MaterializeTemporaryExpr Kind = "MaterializeTemporaryExpr"
	MaxFieldAlignmentAttr    Kind = "MaxFieldAlignmentAttr"
	MayAliasAttr             Kind = "MayAliasAttr"
	MemberExpr               Kind = "MemberExpr"
	NamespaceDecl            Kind = "NamespaceDecl"
	NoInlineAttr             Kind = "NoInlineAttr"
	NoSanitizeAttr           Kind = "NoSanitizeAttr"
	NoThrowAttr              Kind = "NoThrowAttr"
	NonNullAttr              Kind = "NonNullAttr"
	NullStmt                 Kind = "NullStmt"

	OffsetOfExpr        Kind = "OffsetOfExpr"
	ParenType           Kind = "ParenType"
	ParmVarDecl         Kind = "ParmVarDecl"
	PackedAttr          Kind = "PackedAttr"
	ParagraphComment    Kind = "ParagraphComment"
	ParamCommandComment Kind = "ParamCommandComment"
	ParenExpr           Kind = "ParenExpr"
	ParenListExpr       Kind = "ParenListExpr"
	PointerType         Kind = "PointerType"
	PredefinedExpr      Kind = "PredefinedExpr"
	PureAttr            Kind = "PureAttr"
	QualType            Kind = "QualType"
	RecordDecl          Kind = "RecordDecl"
	RecordType          Kind = "RecordType"
	RecoveryExpr        Kind = "RecoveryExpr"
	RestrictAttr        Kind = "RestrictAttr"
	ReturnStmt          Kind = "ReturnStmt"
	ReturnsTwiceAttr    Kind = "ReturnsTwiceAttr"
	StaticAssertDecl    Kind = "StaticAssertDecl"
	StrictFPAttr        Kind = "StrictFPAttr"
	StringLiteral       Kind = "StringLiteral"
	SwitchStmt          Kind = "SwitchStmt"
	TempSpecialType     Kind = "TemplateSpecializationType"
	TemplateArgument    Kind = "TemplateArgument"
	TextComment         Kind = "TextComment"
	TranslationUnitDecl Kind = "TranslationUnitDecl"
	TypedefDecl         Kind = "TypedefDecl"
	TypedefType         Kind = "TypedefType"

	UnaryExprOrTypeTraitExpr Kind = "UnaryExprOrTypeTraitExpr"
	UnaryOperator            Kind = "UnaryOperator"
	UnresolvedLookupExpr     Kind = "UnresolvedLookupExpr"
	UsingDirectiveDecl       Kind = "UsingDirectiveDecl"
	VAArgExpr                Kind = "VAArgExpr"
	VarDecl                  Kind = "VarDecl"
	VisibilityAttr           Kind = "VisibilityAttr"
	WarnUnusedResultAttr     Kind = "WarnUnusedResultAttr"
	WhileStmt                Kind = "WhileStmt"
)
